Wiki Diff FluidAE Project, revision #3 to tip
FluidAE is now known as [[Redy]].
{{http://fluidae.com/images/fluidae_small.png}}
FluidAE 3 is a graphical environment for developing user-friendly applications in the Euphoria programming language.
//Under construction//
= Development Status of Planned Features =
FluidAE3 is very stable, but is a long way from a final release. I have a huge list of planned features that need to be added before it will be considered complete. This page is for tracking the progress of the development of FluidAE.
== Folder structure
* New folder in alpha5:
** ##/apps## folder will contain any applications written in FluidAE
** ##/modules## folder will contain folders of shared libraries used by other modules or applications.
** ##/docs## folder will contain FluidAE documentation
=== Standards that need to be developed:
* **application design**
* **module design**
* **widgetclass design**
* **GUI theme design**
* **loading images**
* **multi-process communication protocol** and API design
* **Canvas Object libraries** , which can add objects to a canvas widget (such as: calendar, hypertext, vector drawing objects, charts, etc.)
* **Widget Set libraries** , which provide commonly-needed sets of widgets that can be created in a panel (such as: select folder, list files, select font, select color, calendar date/time selector, etc.)
* **Common dialog libraries** , which can put a Widget Set in a window, or create other common dialog windows (such as: file open/save, print, search/replace, etc.)
* **Configuration file I/O** : lets each application easily save/load config information in XML files (such as: last window position, user preferences, data file locations, network settings, etc.)
* **App/Module installation and dependency checking system**: each module and app needs to indicate which modules it needs, so those modules can be installed with it
== Widget Classes
* Window - incomplete
* Dialog - Going to merge with Window, add property {"allow_resize", 0} to act like dialog
* Screen - Going to merge with Window, add properties {"show_border", 0} and {"fullscreen", 1} to act like Screen
* Container - Need to add group label and border, fix bugs
* Divider - incomplete
* Tabs - not implemented yet
* Toolbar - not implemented yet
* Panel - not implemented yet
* Button - incomplete
* Toggle - incomplete
* Option - incomplete
* Progress - incomplete
* Slider - incomplete
* Textbox - incomplete
* Textedit - incomplete
* Treebox - incomplete
* Listbox - incomplete
* Fancylist - incomplete
* Canvas - incomplete
* Scrollbar - incomplete
* Menubar - incomplete
* Menu - incomplete
* List - incomplete
* Statusbar - not implemented yet
* Toolbutton - not implemented yet
* Tooltext - not implemented yet
* Toollist - not implemented yet
== Widget Themes and color schemes
* not implemented yet
== Graphics
* Advanced features not implement yet (alpha, bitmap scaling & rotation, gradients, bezier curves, etc)
* other file formats (png, jpg, svg, gif, etc.)
== Cross-platform support
* win32 currently implemented, need to clean up code and a generic layer with ##ifdef## statements to select the correct platform
* need to research how to implement Linux, BSD, and MacOS wrappers
== Multi-process communication (parent-children or peer-to-peer modes)
* child process control (start/kill processes) - works
* API - incomplete
* communication protocol - incomplete
* shared memory communication - incomplete
* TCP/IP communicatino - not implemented yet
== FTDI USB device communication
* API - incomplete
* communication protocol - incomplete
== Useful pre-made dialogs
* not implemented yet
== Integrated Development Environment
* not implemented yet
== XML Settings File for each application
* API - not implemented yet